package com.youlai.boot.core.tenant.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.youlai.boot.common.constant.TenantConstants;
import com.youlai.boot.core.tenant.mapper.TenantApplicationMapper;
import com.youlai.boot.core.tenant.mapper.TenantMapper;
import com.youlai.boot.core.tenant.model.entity.Tenant;
import com.youlai.boot.core.tenant.service.TenantService;
import com.youlai.boot.factory.mapper.ClothingSizesMapper;
import com.youlai.boot.factory.model.entity.ClothingSizes;
import com.youlai.boot.factory.service.ClothingSizesService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 租户服务实现
 */
@Service
@RequiredArgsConstructor
public class TenantServiceImpl extends ServiceImpl<TenantMapper, Tenant> implements TenantService  {

    private final TenantMapper tenantMapper;

    @Override
    public Tenant getById(Long id) {
        return tenantMapper.selectById(id);
    }

    @Override
    public Tenant getByCode(String tenantCode) {
        return tenantMapper.selectOne(
            new LambdaQueryWrapper<Tenant>()
                .eq(Tenant::getTenantCode, tenantCode)
                .eq(Tenant::getStatus, TenantConstants.TENANT_STATUS_NORMAL)
        );
    }

    @Override
    public List<Tenant> listEnabled() {
        return tenantMapper.selectList(
            new LambdaQueryWrapper<Tenant>()
                .eq(Tenant::getStatus, TenantConstants.TENANT_STATUS_NORMAL)
        );
    }
}
